import Vue from 'vue';
import Vuex from 'vuex';
import { MyAppState } from '@/store/modules/app_module';
import { MyPermissionState } from '@/store/modules/permission';
import { MySettingsState } from '@/store/modules/settings';
import { MyagsViewState } from '@/store/modules/tags_view';
import { MyUserState } from '@/interface/my-user-state';
import { MyErrorLogState } from './modules/error_log';

Vue.use(Vuex);

export interface MyRootState {
  app: MyAppState;
  permission: MyPermissionState;
  settings: MySettingsState;
  tagsView: MyagsViewState;
  user: MyUserState;
  errorLog: MyErrorLogState;
}

export default new Vuex.Store<MyRootState>({});
